package com.party.core.model.analysis;

import com.party.core.model.BaseModel;

import java.io.Serializable;
import java.util.Objects;

/**
 * @program: party-temp
 * @description: 统计漏斗流程步骤
 * @author: Huaqunhao
 * @create: 2018-08-01 09:08
 **/
public class StatisticsFunnelFlow extends BaseModel implements Serializable {
    private static final long serialVersionUID = -7471373504748274084L;
    // 步骤名称
    private String name;
    // 事件编号
    private String eventId;
    // 步骤
    private Integer step;
    // 漏斗编号
    private String funnelId;

    public StatisticsFunnelFlow() {
    }

    public StatisticsFunnelFlow(Integer step, String funnelId) {
        this.step = step;
        this.funnelId = funnelId;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEventId() {
        return eventId;
    }

    public void setEventId(String eventId) {
        this.eventId = eventId;
    }

    public Integer getStep() {
        return step;
    }

    public void setStep(Integer step) {
        this.step = step;
    }

    public String getFunnelId() {
        return funnelId;
    }

    public void setFunnelId(String funnelId) {
        this.funnelId = funnelId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof StatisticsFunnelFlow)) return false;
        if (!super.equals(o)) return false;
        StatisticsFunnelFlow that = (StatisticsFunnelFlow) o;
        return Objects.equals(getName(), that.getName()) &&
                Objects.equals(getEventId(), that.getEventId()) &&
                Objects.equals(getStep(), that.getStep()) &&
                Objects.equals(getFunnelId(), that.getFunnelId());
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), getName(), getEventId(), getStep(), getFunnelId());
    }

    @Override
    public String toString() {
        return "StatisticsFunnelFlow{" +
                "name='" + name + '\'' +
                ", eventId='" + eventId + '\'' +
                ", step=" + step +
                ", funnelId='" + funnelId + '\'' +
                '}';
    }
}
